#ifndef CUSTOMDATATYPES_H
#define CUSTOMDATATYPES_H

/*
 CustomDataTypes.h
 
 This file stores the different custom data types and enumarations
 used throughout the program.
 */

#include <iostream>

using namespace std;

//Data type to hold an objects position
struct Position3D
{
    double x_Pos;
    double y_Pos;
    double z_Pos;
};

//Data type to hold an objects rotation
struct Rotation3D
{
    double x_Rot;
    double y_Rot;
    double z_Rot;
};

//Data type to hold an objects scale
struct Scale3D
{
    double x_Scl;
    double y_Scl;
    double z_Scl;
};

//Enumarated object type to draw primitives
enum ObjectType
{
    PYRAMID, CUBE
};

struct Message
{
    int ID;
    Position3D position;
    Rotation3D rotation;
    Scale3D    scale;
    ObjectType objectType;
};

#endif